package com.lancoo.ccas52.arrangecourse.common;

import org.apache.commons.lang3.StringUtils;

/**
 * @Description 字符串工具类
 * @Author Fortysun
 * @Date 2023/6/1 20:03
 **/
public class StrUtil {
    /**
     * 判断是否两个字符串，是否存在相同的子字符串
     * @param strIds1 学生/教师id字符串，以逗号分隔
     * @param strIds2 学生/教师id字符串，以逗号分隔
     * @return
     */
    public static String clashString(String strIds1, String strIds2) {
        //如果这个字段为空，直接返回false，不冲突
        if (StringUtils.isBlank(strIds1) || StringUtils.isBlank(strIds2)) {
            return "";
        }

        //字符串中的子字符串内容（即教师/学生的id字符串），都是通过逗号分隔的
        String[] str1Arr = strIds1.split(",");
        String[] str2Arr = strIds2.split(",");
        for (String str1Id : str1Arr) {
            for (String str2Id : str2Arr) {
                if (str2Id.equals(str1Id)) {
                    return str1Id;
                }
            }
        }

        return "";
    }

    /**
     * 判断是否两个字符串，是否存在相同的子字符串
     * @param strIds1 学生/教师id字符串，以逗号分隔
     * @param strIds2 学生/教师id字符串，以逗号分隔
     * @return
     */
    public static Boolean isStrClashes(String strIds1, String strIds2) {
        //如果这个字段为空，直接返回false，不冲突
        if (StringUtils.isBlank(strIds1) || StringUtils.isBlank(strIds2)) {
            return false;
        }

        //字符串中的子字符串内容（即教师/学生的id字符串），都是通过逗号分隔的
        String[] str1Arr = strIds1.split(",");
        String[] str2Arr = strIds2.split(",");
        for (String str1Id : str1Arr) {
            for (String str2Id : str2Arr) {
                if (str2Id.equals(str1Id)) {
                    return true;
                }
            }
        }

        return false;
    }

    /**
     * 统计周次字符串中1的个数
     * @param weeks 周次字符串
     * @return
     */
    public static int numOfOne(String weeks) {
        //如果这个字段为空，直接返回false，不冲突
        if (StringUtils.isBlank(weeks)) {
            return 0;
        }
        //将字符串拆分成char数组
        char[] strArr = weeks.toCharArray();
        //统计计数器
        int count = 0;
        for (int i = 0; i < strArr.length; i++) {
            if(strArr[i] =='1'){
                count ++;
            }
        }

        return count;
    }
}
